package com.smart.community.commons.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import com.smart.community.commons.config.sender.LogSender;
import com.smart.community.commons.config.sender.impl.LocalLogSender;

import lombok.extern.slf4j.Slf4j;

/**
 * 本地日志发送器配置类
 * 当RocketMQ禁用时，使用本地日志发送器
 * @author Wu.Liang
 * @date 2025年1月30日
 */
@Slf4j
@Configuration
@ConditionalOnProperty(name = "rocketmq.enabled", havingValue = "false", matchIfMissing = true)
public class LocalLogSenderConfig {

	/**
	 * 主日志发送器（本地模式）
	 * 当RocketMQ禁用时，直接使用本地日志
	 */
	@Bean
	@Primary
	public LogSender primaryLogSender() {
		log.info("使用本地日志发送器模式");
		return new LocalLogSender();
	}
}
